
        <HTML>
		<HEAD>
		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
		<meta name="description" content="Flash MX 2004 ActionScript2.0 Library: Cone - Wright Internet Solutions">
		<meta name="keywords" content="geometric,quadric,Cone,Flash,MX,2004,ActionScript,ActionScript2.0,AS2.0 Library,AS2,AS2 Library,Wright Internet Solutions,Wright,class,documentation,methods,functions,interfaces,JavaScript,Java">
		<TITLE>WIS AS2 Library : com.wis.math.geom.quadric.Cone Documentation</TITLE>

		<STYLE><!--
		HR.small{height:1px; width:100%; background:#E7BFA3; border: 0px;}
		HR.big{height:4px; width:100%; background:#E7BFA3; border: 0px;}
		A:hover{text-decoration: underline}
		A{text-decoration: none; color: #993333}
		code{font-family: monospace; font-size: 12px; color: #666666;}
		.methodAttributesTitle{font-size: 12px; font-weight: bold; color: #7B779C}
		.ToC{font-size: 12px; font-weight: bold; color: #993333}
		.methodTitle{font-size: 14px; font-weight: bold; color: #993333}
		.groupTitle{font-size: 18px; font-weight: bold; color: #993333}
		.sectionTitle{font-size: 22px; font-weight: bold; color: #993333}
		.majorTitle{font-size: 32px; font-weight: bold; color: #993333; padding-bottom:100px;}
		.methodsDiv{margin-left:40px;}
		.footer{font-size: 11px; color: #666666;}
		body{font-family: arial,sans-serif; font-size: 12px;}
		//--></STYLE>

		</HEAD>
		<BODY bgColor='#ffffcc'>
		<P class='majorTitle'>com.wis.math.geom.quadric.Cone Documentation</P>


		<P><B>Author:</B> <a href='mailto:wisolutions2002@shaw.ca?subject=wisASLibrary Cone Class'>Richard Wright</a><BR>
		<B>Last Modified:</B> 08/03/04 00:53:17<HR class='big'>

		<P class='sectionTitle'>Summary</P>
		<P class='ToC'>com.wis.math.geom.quadric.Cone class:</P>
		<div class='methodsDiv'><a href='#classinfo'>- description</a></div>
<P class='ToC'>com.wis.math.geom.quadric.Cone Properties:</P><div class='methodsDiv'>
<a href='#$rad1'>- $rad1</a><br>
<a href='#$rad2'>- $rad2</a><br>
<a href='#$rad1Squared'>- $rad1Squared</a><br>
<a href='#$rad2Squared'>- $rad2Squared</a><br>
<a href='#$radDiffPerUnit'>- $radDiffPerUnit</a><br>
<a href='#$end1'>- $end1</a><br>
<a href='#$end2'>- $end2</a><br>
<a href='#$negEnd1'>- $negEnd1</a><br>
<a href='#$negEnd2'>- $negEnd2</a><br>
<a href='#$normAxis'>- $normAxis</a><br>
<a href='#$negNormAxis'>- $negNormAxis</a><br>
<a href='#$cap1BoundV1'>- $cap1BoundV1</a><br>
<a href='#$cap2BoundV1'>- $cap2BoundV1</a><br>
<a href='#$cap1BoundV2'>- $cap1BoundV2</a><br>
<a href='#$cap2BoundV2'>- $cap2BoundV2</a><br>
<a href='#$open'>- $open</a><br>
<a href='#$boundedBy'>- $boundedBy</a><br>
</div><br>
<P class='ToC'>com.wis.math.geom.quadric.Cone Methods:</P><div class='methodsDiv'>
<a href='# copy'>-  copy</a><br>
<a href='# initialize'>-  initialize</a><br>
<a href='# findIntersectionsUntransformed'>-  findIntersectionsUntransformed</a><br>
<a href='# isPointInsideUntransformed'>-  isPointInsideUntransformed</a><br>
<a href='# getNormalAtUntransformed'>-  getNormalAtUntransformed</a><br>
<a href='# getNormalAt'>-  getNormalAt</a><br>
</div><br>

		<HR class='big'>
		<P class='sectionTitle'><A name='classinfo'></A>com.wis.math.geom.quadric.Cone <I>class</I></P>
		<P> <span class='methodTitle'>version:</span> 1.7</P>
		<P class="methodTitle">description:</P>
		<P>Implements the behaviours of the Cone Class.
 <p>
 		        Provides methods for the IObj interface based on JS RayTracer2 by
 John Haggerty. Since the interface doesn't permit overloading
 methods, I've added the 'getNormalAt' method to define the normal
 to the passed intersection and 'pos' Vector object, and I've changed
 'getNormalAtUntransformed' into an abstract method that supports
 the interface but doesn't get called. This is a workaround and may
 change with testing.
 </P>
		<P class="methodTitle">usage:</P> <pre>var inst:Cone = new Cone(end1,rad1,end2,rad2,open);</pre>

<P> <span class='methodTitle'>parameters:</span>
				<ul>
<li>      end1 (Vector)  -- a position Vector object defining the center of one end of the cone.</li>
<li>      rad1 (Number)  -- a value for radius of one end of the cone.</li>
<li>      end2 (Vector)  -- a position Vector object defining the center of the other end of the cone.</li>
<li>      rad2 (Number)  -- a value for radius of the other end of the cone.</li>
<li>      open (Boolean)  -- default is 'false', cone ends are closed.</li>
</ul>

			<HR class='small'>
			<P class='groupTitle'><A name='properties'></A>com.wis.math.geom.quadric.Cone Properties:</P>
			<div class='methodsDiv' >


				<P class='methodTitle'><A name='$rad1'></A><u> $rad1</u></P>
				<P> (Number)  -- a value for radius of one end of the cone.</P>

				<P class='methodTitle'><A name='$rad2'></A><u> $rad2</u></P>
				<P> (Number)  -- a value for radius of the other end of the cone.</P>

				<P class='methodTitle'><A name='$rad1Squared'></A><u> $rad1Squared</u></P>
				<P> (Number)  -- a value for square of radius of one end of the cone.</P>

				<P class='methodTitle'><A name='$rad2Squared'></A><u> $rad2Squared</u></P>
				<P> (Number)  -- a value for square of radius of the other end of the cone.</P>

				<P class='methodTitle'><A name='$radDiffPerUnit'></A><u> $radDiffPerUnit</u></P>
				<P> (Number)  -- a value for difference between the two unit radii.</P>

				<P class='methodTitle'><A name='$end1'></A><u> $end1</u></P>
				<P> (Vector)  -- a position Vector object defining the center of one end of the cone.</P>

				<P class='methodTitle'><A name='$end2'></A><u> $end2</u></P>
				<P> (Vector)  -- a position Vector object defining the center of the other end of the cone.</P>

				<P class='methodTitle'><A name='$negEnd1'></A><u> $negEnd1</u></P>
				<P> (Vector)  -- a Vector object defining negative of $end1.</P>

				<P class='methodTitle'><A name='$negEnd2'></A><u> $negEnd2</u></P>
				<P> (Vector)  -- a Vector object defining negative of $end1.</P>

				<P class='methodTitle'><A name='$normAxis'></A><u> $normAxis</u></P>
				<P> (Vector)  -- a Vector object defining the normal to the cone barrel axis.</P>

				<P class='methodTitle'><A name='$negNormAxis'></A><u> $negNormAxis</u></P>
				<P> (Vector)  -- a Vector object defining negative of $normAxis.</P>

				<P class='methodTitle'><A name='$cap1BoundV1'></A><u> $cap1BoundV1</u></P>
				<P> (Vector)  -- a Vector object defining cone cap1 bounding wrt vector1.</P>

				<P class='methodTitle'><A name='$cap2BoundV1'></A><u> $cap2BoundV1</u></P>
				<P> (Vector)  -- a Vector object defining cone cap2 bounding wrt vector1.</P>

				<P class='methodTitle'><A name='$cap1BoundV2'></A><u> $cap1BoundV2</u></P>
				<P> (Vector)  -- a Vector object defining cone cap1 bounding wrt vector2.</P>

				<P class='methodTitle'><A name='$cap2BoundV2'></A><u> $cap2BoundV2</u></P>
				<P> (Vector)  -- a Vector object defining cone cap2 bounding wrt vector2.</P>

				<P class='methodTitle'><A name='$open'></A><u> $open</u></P>
				<P> (Boolean)  -- default is 'false', cone ends are closed.</P>

				<P class='methodTitle'><A name='$boundedBy'></A><u> $boundedBy</u></P>
				<P> (Box)  -- bounding box object.</P>
</div>

			<HR class='small'>
			<P class='groupTitle'><A name='methods'></A>com.wis.math.geom.quadric.Cone Methods:</P>
			<div class='methodsDiv' >


				<P class='methodTitle'><A name=' copy'></A><u>  copy</u></P>
				<P><span class='methodAttributesTitle'>description: </span>
				Copies super's properties with its 'copyModifiers' method.
     </P>
				<P><span class='methodAttributesTitle'>usage:</span> <pre>inst.copy();</pre>
     </P>
<P><span class='methodAttributesTitle'>returns:</span> (Obj)  -- returns a new Cylinder object populated with super's properties.
    </P>

				<P class='methodTitle'><A name=' initialize'></A><u>  initialize</u></P>
				<P><span class='methodAttributesTitle'>description: </span>
				Initializes this instance's bounding box and its super's
     low-level properties, and defines $negEnd1, $negEnd2,
     $normAxis, $negNormAxis, $rad1Squared, $rad2Squared, and
     $radDiffPerUnit properties.
     </P>
				<P><span class='methodAttributesTitle'>usage:</span> <pre>inst.initialize();</pre>
     </P>
<P><span class='methodAttributesTitle'>returns:</span> (Void)
    </P>

				<P class='methodTitle'><A name=' findIntersectionsUntransformed'></A><u>  findIntersectionsUntransformed</u></P>
				<P><span class='methodAttributesTitle'>description: </span>
				Calculates enter and exit intersections, if any, defined by
     'ray' tracer.
     </P>
				<P><span class='methodAttributesTitle'>usage:</span> <pre>inst.findIntersectionsUntransformed(ray);</pre>
     </P>
<P> <span class='methodAttributesTitle'>parameters:</span><ul>
<li>  ray   (Ray)  -- tracer object that defines its point and direction in 3-space.</li>
</ul></P>
<P><span class='methodAttributesTitle'>returns:</span> (Array)  -- returns a list of Intersection objects, or an empty list.
    </P>

				<P class='methodTitle'><A name=' isPointInsideUntransformed'></A><u>  isPointInsideUntransformed</u></P>
				<P><span class='methodAttributesTitle'>description: </span>
				Tests whether passed 'pos' Vector object is inside this instance.
     </P>
				<P><span class='methodAttributesTitle'>usage:</span> <pre>inst.isPointInsideUntransformed(pos);</pre>
     </P>
<P> <span class='methodAttributesTitle'>parameters:</span><ul>
<li>  pos   (Vector)  -- a position Vector object.</li>
</ul></P>
<P><span class='methodAttributesTitle'>returns:</span> (Boolean)
    </P>

				<P class='methodTitle'><A name=' getNormalAtUntransformed'></A><u>  getNormalAtUntransformed</u></P>
				<P><span class='methodAttributesTitle'>description: </span>
				Defines the normal to the passed 'pos' Vector object.
     </P>
				<P><span class='methodAttributesTitle'>usage:</span> <pre>inst.getNormalAtUntransformed(pos);</pre>
     </P>
<P> <span class='methodAttributesTitle'>parameters:</span><ul>
<li>  pos   (Vector)  -- a position Vector object.</li>
</ul></P>
<P><span class='methodAttributesTitle'>returns:</span> (Vector)  -- returns normal of passed Vector object.
    </P>

				<P class='methodTitle'><A name=' getNormalAt'></A><u>  getNormalAt</u></P>
				<P><span class='methodAttributesTitle'>description: </span>
				Defines the normal to the passed 'pos' Vector object.
     </P>
				<P><span class='methodAttributesTitle'>usage:</span> <pre>inst.getNormalAt(pos,isect);</pre>
     </P>
<P> <span class='methodAttributesTitle'>parameters:</span><ul>
<li>  pos   (Vector)  -- a position Vector object.</li>
<li>  isect   (Intersection)  -- an Intersection object.</li>
</ul></P>
<P><span class='methodAttributesTitle'>returns:</span> (Vector)  -- returns normal of passed Vector object.
    </P>
</div>

			<BR>
			<BR>
			<HR class='big'>
			<span class="footer">generated with <A href='http://blog.klaustrofobik.org/' target='_blank'>AS2docGenerator beta 0.5.3</A></span>
			</BODY>
			</HTML>

